package com.alks.entity.data.entity.board;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.alks.entity.data.entity.dispatch.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;

public class SysDictData extends BaseEntity {
    private static final long serialVersionUID = 1L;
    @Excel(
        name = "字典编码"
    )
    private Long dictCode;
    @Excel(
        name = "字典排序"
    )
    private Long dictSort;
    @Excel(
        name = "字典标签"
    )
    private String dictLabel;
    @Excel(
        name = "字典键值"
    )
    private String dictValue;
    @Excel(
        name = "字典类型"
    )
    private String dictType;
    @Excel(
        name = "字典样式"
    )
    private String cssClass;
    private String listClass;
    @Excel(
        name = "是否默认"
    )
    private String isDefault;
    @Excel(
        name = "状态"
    )
    private String status;

    public SysDictData() {
    }

    public Long getDictCode() {
        return this.dictCode;
    }

    public void setDictCode(Long dictCode) {
        this.dictCode = dictCode;
    }

    public Long getDictSort() {
        return this.dictSort;
    }

    public void setDictSort(Long dictSort) {
        this.dictSort = dictSort;
    }

    public @NotBlank(
    message = "字典标签不能为空"
) @Size(
    min = 0,
    max = 100,
    message = "字典标签长度不能超过100个字符"
) String getDictLabel() {
        return this.dictLabel;
    }

    public void setDictLabel(String dictLabel) {
        this.dictLabel = dictLabel;
    }

    public @NotBlank(
    message = "字典键值不能为空"
) @Size(
    min = 0,
    max = 100,
    message = "字典键值长度不能超过100个字符"
) String getDictValue() {
        return this.dictValue;
    }

    public void setDictValue(String dictValue) {
        this.dictValue = dictValue;
    }

    public @NotBlank(
    message = "字典类型不能为空"
) @Size(
    min = 0,
    max = 100,
    message = "字典类型长度不能超过100个字符"
) String getDictType() {
        return this.dictType;
    }

    public void setDictType(String dictType) {
        this.dictType = dictType;
    }

    public @Size(
    min = 0,
    max = 100,
    message = "样式属性长度不能超过100个字符"
) String getCssClass() {
        return this.cssClass;
    }

    public void setCssClass(String cssClass) {
        this.cssClass = cssClass;
    }

    public String getListClass() {
        return this.listClass;
    }

    public void setListClass(String listClass) {
        this.listClass = listClass;
    }

    public boolean getDefault() {
        return "Y".equals(this.isDefault);
    }

    public String getIsDefault() {
        return this.isDefault;
    }

    public void setIsDefault(String isDefault) {
        this.isDefault = isDefault;
    }

    public String getStatus() {
        return this.status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String toString() {
        return (new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)).append("dictCode", this.getDictCode()).append("dictSort", this.getDictSort()).append("dictLabel", this.getDictLabel()).append("dictValue", this.getDictValue()).append("dictType", this.getDictType()).append("cssClass", this.getCssClass()).append("listClass", this.getListClass()).append("isDefault", this.getIsDefault()).append("status", this.getStatus()).append("createBy", this.getCreateBy()).append("createTime", this.getCreateTime()).append("updateBy", this.getUpdateBy()).append("updateTime", this.getUpdateTime()).append("remark", this.getRemark()).toString();
    }
}
